﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AcadPos.Entity;
using AcadPos.Bussiness;
using System.Data;

namespace AcadPosApp.ControlClass
{
    public static class CNDisciplina
    {
        #region Inserir
        public static bool inserir(Disciplina disciplina, string usuario)
        {
            return new NGDisciplina().inserir(disciplina, usuario);
        }
        #endregion

        #region Alterar
        public static bool alterar(Disciplina disciplina, string usuario)
        {
            return new NGDisciplina().alterar(disciplina, usuario);
        }
        #endregion

        #region Excluir
        public static bool excluir(Disciplina disciplina, string usuario)
        {
            return new NGDisciplina().excluir(disciplina, usuario);
        }
        #endregion

        #region Listar Disciplina
        public static DataTable listarDisciplina(Disciplina disciplina)
        {
            return new NGDisciplina().listarDisciplina(disciplina);
        }
        #endregion

        #region Verificar Disciplina
        public static DataTable disciplinaJaExiste(Disciplina discliplina)
        {
            return new NGDisciplina().disciplinaJaExiste(discliplina);
        }
        #endregion

        #region Lista Disciplinas Por Professor
        public static DataTable listaDisciplinasProfessor(Turma turma)
        {
            return new NGDisciplina().listaDisciplinasProfessor(turma);
        }
        #endregion

        #region Lista Professores Apto Disciplina
        public static DataTable listaProfessorAptosDisc(int idDisciplina, string nome)
        {
            return new NGDisciplina().listaProfessorAptosDisc(idDisciplina, nome);
        }
        #endregion

        #region Insere Disc Por Professor
        public static string inserirDiscProfessor(ProfissionalDisciplina profDisc, int qtdDisc, string usuario)
        {
            return new NGDisciplina().inserirDiscProfessor(profDisc, qtdDisc, usuario);
        }
        #endregion

        #region Excluir Disciplina por Professor
        public static bool excluirDiscProfessor(ProfissionalDisciplina profDisc, string usuario)
        {
            return new NGDisciplina().excluirDiscProfessor(profDisc, usuario);
        }
        #endregion

        #region Cadastrar Valor Titulação
        public static bool inserirValorTitulacao(ProfissionalDisciplina profDisc)
        {
            return new NGDisciplina().inserirValorTitulacao(profDisc);
        }
        #endregion

        #region Lista Disciplinas do aluno Por Professor
        public static DataTable listaDisciplinasAlunoProfessor(Turma turma, int matricula)
        {
            return new NGDisciplina().listaDisciplinasAlunoProfessor(turma, matricula);
        }
        #endregion

        #region Lancar Nota e Falta
        public static bool lancarNotaFalta(Disciplina disciplina, int idTurma, int matricula)
        {
            return new NGDisciplina().lancarNotaFalta(disciplina, idTurma, matricula);
        }
        #endregion

        #region Retorna Limite falta
        public static int retornaLimiteFaltas(int idMatrizCurricular)
        {
            return new NGDisciplina().retornaLimiteFaltas(idMatrizCurricular);
        }
        #endregion

        #region Lista Calendário por Polo
        public static DataTable listaCalendarioPolo(int idPolo)
        {
            return new NGDisciplina().listaCalendarioPolo(idPolo);
        }
        #endregion

        #region Liberar/Bloquear Disciplina
        public static bool liberarBloquearDisciplina(int idProfDisciplina, string libBloq)
        {
            return new NGDisciplina().liberarBloquearDisciplina(idProfDisciplina, libBloq);
        }
        #endregion

        #region Atualizar Data Recepção Diário
        public static bool receberDiario(int idProfDisciplina)
        {
            return new NGDisciplina().receberDiario(idProfDisciplina);
        }
        #endregion

        #region Lista Cronograma
        public static DataTable listaCronograma(int idProfDisciplina)
        {
            return new NGDisciplina().listaCronograma(idProfDisciplina);
        }
        #endregion

        #region Inserir Cronograma
        public static bool inserirCronograma(DateTime dtAula, string descAula, string conteudoAula, int idProfissionalDisciplina)
        {
            return new NGDisciplina().inserirCronograma(dtAula, descAula, conteudoAula, idProfissionalDisciplina);
        }
        #endregion

        #region Alterar Cronograma
        public static bool alterarCronograma(int idCronograma, DateTime dtAula, string descAula, string conteudoAula)
        {
            return new NGDisciplina().alterarCronograma(idCronograma, dtAula, descAula, conteudoAula);
        }
        #endregion

        #region Excluir Cronograma
        public static bool excluirCronograma(int idCronograma)
        {
            return new NGDisciplina().excluirCronograma(idCronograma);
        }
        #endregion

        #region Incluir Frequência
        public static bool incluirFrequencia(int idProfDisciplina)
        {
            return new NGDisciplina().incluirFrequencia(idProfDisciplina);
        }
        #endregion

        #region Excluir Frequencia
        public static bool excluirFrequencia(int idCronograma)
        {
            return new NGDisciplina().excluirFrequencia(idCronograma);
        }
        #endregion

        #region Atualizar Frequencia
        public static bool atualizarFrequencia(int idFrequencia, char situacao)
        {
            return new NGDisciplina().atualizarFrequencia(idFrequencia, situacao);
        }
        #endregion

        #region Listar Frequencia
        public static DataTable listarFrequencia(int idCronograma)
        {
            return new NGDisciplina().listarFrequencia(idCronograma);
        }
        #endregion

        #region Carregar dados do Profissional da Disciplina
        public static ProfissionalDisciplina carregarDadosProfDisciplina(int IdProfissionalDisciplina)
        {
            return new NGDisciplina().carregarDadosProfDisciplina(IdProfissionalDisciplina);
        }
        #endregion

        #region Cronograma de Aulas por Data
        public static DataTable listaCronogramaAulasPorData(int idPolo, DateTime dtAula)
        {
            return new NGDisciplina().listaCronogramaAulasPorData(idPolo, dtAula);
        }
        #endregion
    }
}